rawbotsfandomcom-20200213-history
Game Controls
All known controls since pre-alpha 0.0.10... (Hold F1 ingame to show a table with some basic controls. It also contains a link to the Quick Reference Board of the Official Rawbots Website) At the moment there are two main view modes in Rawbots: The basic world view, where you can build your bots and do some terraforming, and the console, where you can access the system commands and do the visual programming. 'Camera Controls' There are two camera modes: 1st person mode views the world through a camera part and 1st person mode rotates the view arround a focused bot part. *Use the Arrow Keys, to rotate the camera arround the focused part *'LeftShift + Up/Down-Arrows' to zoom in/out *'Tab + LMB' (left-mouse-button) on a part to focus the camera on this part *'Tab' to toggle between 1st/3rd person view :: If the actual focus isn't a camera, the game will choose one automatically for the 3rd person view. If the focused part is somehow connected to a bot with a camera, it will use this one, if not, it will take the next camera in the cam-cycle. *'LeftShift + Tab' to jump to the next camera in the cam-cycle :: As you add new camera parts to the world, they will be added to the end of the cam-cycle. At the moment there is no other way to determine this sequence. Notice! A camera also works as an encapsulation of each bot's program! : For example, two ellbows in your world, listening to the "w/s" keys via input samplers in their visual program, will both react on these inputs, as long as they aren't related to a camera part. This means, as soon as a part is related to a construction which contains at least one camera, it will be encapsulated from the rest of the world. When pressing keys in this case, only these visual programs, which are related to the actual focused part/construction, will listen to these inputs. There are cases, where parts aren't connected physically, but via their visual programming operands, which also counts as a "logic-connection" and therefor, they are also related to this encapsulated system. 'Bot Building' Rawbots has its own special ways to manipulate bot parts, which can be mastered with ease. 'Quick-Spawn Parts' *'LeftCtrl + LMB' on the ground (the planets surface or any world geometry) to''' quick-spawn parts''' *'LMB + Drag' a part, to grab and move it arround 'Basic Connection' *'Hold "1" '''to start a step-by-step connecting operation (release "1" to cancel it) :: ''Be sure to hold "1" and not "Num_1" on the num-pad! *''LMB 'on a part to select part-1 :: It will be highlighted and a connection point will be shown. *'RMB 'on part-1 to switch the connection point *'LMB 'on another part to select the part-2 :: A preview of the result will be shown. :: To determine the used connection point on part-2, simply hover the one you would like to use with the mouse :: ''You may need to adjust your camera angle, which can still be done without releasing "1". *RMB '''to rotate the preview :: You can still move to another connection point of part-2 after rotating *'LMB on the preview will confirm the operation :: Part-1 will be forced to move to its desired location on part-2 now. :: In some cases this may fail because of different reasons. :: You can not connect two parts of one and the same construction to each other with this operation. :: The force is based on the orientation and distance of part-1 and -2 so replacing them before the operation may help. :: If part-1 is not connected to any other parts, it will have no collision while it is forced to move to part-2. :: The operation is completed as soon as both parts are sticked together. Release "1" before this is done to cancel it. '''Voltaic Arcs These are distanced connections which can also be used to create supports in your constructions. It is done quite the same way like a basic connection is done. *'Hold "2"' to start a voltaic arc operation *'LMB '''on a part to select part-1 *'RMB''' on part-1 to switch the connection point *'LMB' on another part to select part-2 *'RMB' on part-2 to switch the connection point *'LMB' the preview to confirm the operation :: The arc will remeber the orientation and location of the parts, as they have been connected, and do its best to keep these. :: If the operation fails, the points you tried to connect may be to far appart from each other. :: The maximum range of a VA is about 4-5 continuums long. 'Disconnect Parts' *'"0" + LMB' on a part will break all its connections 'Remove Parts' *'BackSpace + LMB' on a part to permanently remove 'the part + all parts connected to it + their programs from your world' :: Just be carefull when using this combination :: It's not confirmed yet, but it may be Delete instead of BackSpace on your keyboard. 'Terraforming' ' ' At the moment the terraforming is very limeted. On the other planets (not on the tiny start-planet) in 0.0.10, you can find big hexagonal platforms. There are many different names used for them, so i will use the expression "geometry" for now. At the moment the only way to add new geometry is to "extend" from these given platforms. There are different types of geometry which you can add, like thin platforms, pillars, and ramps. 'Add Geometry' *'Hold "6"' and hover a specific area of an already existing geometry :: A preview of the new geometry will be shown. The type is determined by the hovered area. ::: '- Hover the edges on the side' to get a thin platform ::: '- Hover a corner on the top surface' to get a pillar ::: '- Hover a surface's inner area' to get a big platform :: Some types also have different styles. At the moment only the big platforms have different styles. These are the ramps. ::: '- RMB' on the preview to switch the style (optional) *'LMB' to place the selected geometry 'Remove Geometry' *'Hold "7"' and hover a player-added geometry :: You can not remove prebuilt geometry right now. *'LMB' on the geometry to remove it 'The Console' This is the place where you can use the command line to acces the system commands and where you can do the visual programming. *'Esc '''to open and close the console 'Command Line' That's the bottom line of the console. Above it you got a list of recently used commands. ''(There exists a little issue atm after using Alt + Tab to get to the desktop. As you come back to the game, the console wont register your inputs like usual any longer. This is because it didn't catch the release of Alt and still belives it's pressed now. Hit Alt once again and it will be fixed) Type a command and press Enter. If it is a known command, it will be written to the left side of colon. load : To make it easer to use, the game usually generates its sub-commands/entries and writes them to the right side of the colon. load : stardust Most commands contain multiple entries. In this case a list will be generated. Horzontal lines ( | ) are the seperators between each entry. spawn : camera | continuum | elbow | fin | ... You can now use Tab or LeftShift + Tab 'to jump to the next or previous entry, or delete the first entry and type it manually. Press '''Enter '''to confirm your selection. The game will take the expression between the colon and the first horizontal line only. spawn : motor | continuum | elbow | fin | ... ''In this case a motor will be spawned at the mouse pointer (if it hovers a legit spawn location). With the '''Up/Down-Arrows you can iterate through recently entered commads 'Known Commands' *'"help" '''shows a list of commands *"'load"' shows a list of worlds you can load :: Since 0.0.11 the only world you can load is "stardust". :: ''Load doesn't mean "load a savegame" it means "load the latest saved state of the specific world" *'"save"' saves the current state of the loaded world :: Savegame location for win "C:\Users\USERNAME\Documents\rawbots\defs" for mac "(~/rawbots)" :: The game creates a new savegame "stardust_timestamp" each time and also overwrites the "stardust" file. This is the default savegame and will be loaded with the command "load : stardust". If you delete this file (maybe you had problems to load your default savegame), the game will generate a new one. *'"reset"' shows a list of savegames related to this world and will reset the world to this state. *'"shutdown"' exit the game :: Without saving the last state! *'"settings'" shows the settings grid :: There you can confrim your serial-key (0.0.9 only) and set the daytime of your world *'"spawn"' spawns bot parts at the mouse pointers location :: The mouse needs to hover a planets surface or any world geometry. :: A very handy way to spawn a big amount of one and the same part (in combination with Up-Arrow) 'Console Shortcuts' *'LeftCtrl + A' moves the cursor to beginning of the command line *'LeftCtrl + E' moves the cursor to the end of the command line *'LeftAlt + BackSpace' deletes a word *'LeftCtrl + U' clears the command line *'LeftCtrl + K' deletes everything after the cursor position 'Visual Programming' The background of the console is the place where you can breathe life into your creations. Rawbots offers a collection of basic operands, which can be combined to complex and powerfull programs. These haxagons got many different names, i will stick to the developers expression "tile". And for the console background i will use "grid". The grid has a limited amount of space. *Hold MMB (middle-mouse-button)' '''to drag/move arround the grid *'MouseWheel Up/Down''' to zoom in/out At the beginning the grid will be empty, so you wont see any changes. 'Tile Colors and Types' There are 4 different types of tiles, each has its own functionality ---- 'Part Tiles' They are a logical representation of bot parts inside the console. *'LMB '''on a bot part (through the background) to open its program :: This will close the actual grid (if it doesn't already contain the clicked part's tile) :: Beware! Many peoples lost quite complex programs this way, because they had no connection to any other part tiles and therfor no chance to open them. *'LeftShift + LMB''' on a bot part, to bring up its grid into the already opened grid :: So this wont close the actual grid! :: It may happen that tiles, which have been placed in the same place, are stacked/overlapped then. *'Hover '''a part tile with the mouse to highlight the related part in the world :: ''If the related part is out of sight, a green line of arrows will direct to it's location 'Operand Tiles' There is a quite limeted collection of pre-built visual programming operands. Each one represents a quite simple stand-alone function, but they can be combined to get much more complex ones. (Some day we may be able to take such combinations and define our own operands in a way) *'LefCtrl + LMB' on an empty space of the grid to add a new operand tile 'Input and Output Tiles' These are the "connection points" between the operands. Inputs got the prefix ">", outputs "<". *'LeftCtrl + LMB' on a part/operand tile to add their inputs/outputs to the grid 'Manipulate Tiles' To edit your programs, there are a couple of things you can do with each tile. *'LMB + Drag '''a tile to move it arround on the grid *'LMB on an input tile to enter its value//select its entry :: Some input tiles have a list of given entries. They wont accept any other value than one of these entries. ::: - '''Tab or LeftShift + Tab to select an entry ::: '- Enter '''to confirm :: Some input tiles will kinda ignore player-typed values. For example the oscillators >time: If you enter a value into it, it will jump to the specific timeframe, but then it countinues to listen to its inner time. Such input tiles need to be "feeded" with output tiles to work correctly. *'LeftCtrl + LMB + Drag''' an input tile on an output tile to a connection :: You can also drag output tiles on input tiles. :: Both, the input and output tile, need to be of the same data type. You can not, for example, connect a numeric input tile to a string based output tile. :: At the moment known types are decimal, string, boolean, colorcode enumerations and part :: While dragging tiles, you can still use the MMB to move the grid, if the destination tile is not on the screen '' *'LeftCtrl + LeftShift + LMB''' on a tile to break its connections/remove it :: If the clicked tile is an input/output tile with connections, the first click will break all its connections. :: If the clicked tile is a part/operand tile it and all its input/output tiles will be removed, even if they are connected to other tiles! :: You may encounter a strange behavour when deleting input tiles, if you already changed its value. The game will remeber the changed value until you add the input tile again. When doing so, the value will be reset to its default. 'Permissions & Passcode' *'LeftAlt + LMB' on a tile to access its permissions :: For example: Set "permission : -drag" on a part tile, and you wont be able to move the related bot part with your mouse any longer. *'LeftAlt + LMB' on a hex, to enter the passcode :: This is one of the functions i never really understood =S Pls place an explanation here! 'True or False' Values lower or equal 0.5 are handle as False, values higher than 0.5 are True. For example: A multiplexer with a >selector value of 0.5 will still output >sample_a.